package lumis.portal.page.webresource;

import lumis.portal.PortalException;
import lumis.portal.page.PageWebResource;
import lumis.portal.stability.StableMinor;
/**
 * Interface called by the portal framework to obtain customizable data
 * about a page web resource.
 * 
 * @depend - provides - PageWebResourceData
 *
 * @version $Revision: 13082 $ $Date: 2011-05-27 16:03:12 -0300 (Fri, 27 May 2011) $
 * @since 5.0.0
 */
@StableMinor(version = "6.0", sinceVersion = "5.0")
public interface IPageWebResourceDataProvider
{
	/**
	 * Initializes this page web resource data provider.
	 * 
	 * @param pageWebResource the page web resource this provider will 
	 * provide data for.
	 * 
	 * @since 5.0.0
	 */
	public void init(PageWebResource pageWebResource) throws PortalException;
	
	/**
	 * Returns the data about a page web resource. 
	 * The title property of the data must not be null.
	 * 
	 * @return the page web resource data.
	 * 
	 * @since 5.0.0
	 */
	public PageWebResourceData getPageWebResourceData() throws PortalException;
}
